home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 60 / 60.xpi / chrome / webdeveloper.jar / content / webdeveloper / generated / output_pivot.js next >
Text File  |  2009-06-30  |  4KB  |  119 lines

  1. // Collapses all output
  2. function webdeveloper_collapseAllOutput(event)
  3. {
  4.     webdeveloper_pivotAllOutput(event, false);
  5. }
  6.  
  7. // Expands all output
  8. function webdeveloper_expandAllOutput(event)
  9. {
  10.     webdeveloper_pivotAllOutput(event, true);
  11. }
  12.  
  13. // Makes all output on the page pivotable
  14. function webdeveloper_makeOutputPivotable()
  15. {
  16.     var collapseAll       = document.getElementById("webdeveloper-generated-tool-collapse-all");
  17.     var expandAll         = document.getElementById("webdeveloper-generated-tool-expand-all");
  18.     var spanElementList   = webdeveloper_evaluateXPath(document, "//span[@class='expanded pivot']");
  19.     var spanElementLength = spanElementList.length;
  20.  
  21.     // Loop through the span elements
  22.     for(var i = 0; i < spanElementLength; i++)
  23.     {
  24.         spanElementList[i].addEventListener("click", webdeveloper_pivotOutput, false);
  25.     }
  26.  
  27.     // If the collapse all element is found
  28.     if(collapseAll)
  29.     {
  30.         collapseAll.addEventListener("click", webdeveloper_collapseAllOutput, false);
  31.     }
  32.  
  33.     // If the expand all element is found
  34.     if(expandAll)
  35.     {
  36.         expandAll.addEventListener("click", webdeveloper_expandAllOutput, false);
  37.     }
  38. }
  39.  
  40. // Pivots all output
  41. function webdeveloper_pivotAllOutput(event, expand)
  42. {
  43.     var divElementList    = null;
  44.     var divElementLength  = null;
  45.     var spanElementList   = null;
  46.     var spanElementLength = null;
  47.  
  48.     // If expanding
  49.     if(expand)
  50.     {
  51.         divElementList    = webdeveloper_evaluateXPath(document, "//div[@class='collapsed output']");
  52.         divElementLength  = divElementList.length;
  53.         spanElementList   = webdeveloper_evaluateXPath(document, "//span[@class='collapsed pivot']");
  54.         spanElementLength = spanElementList.length;
  55.  
  56.         // Loop through the div elements
  57.         for(var i = 0; i < divElementLength; i++)
  58.         {
  59.             divElementList[i].setAttribute("class", "output");
  60.         }
  61.  
  62.         // Loop through the span elements
  63.         for(i = 0; i < spanElementLength; i++)
  64.         {
  65.             spanElementList[i].setAttribute("class", "expanded pivot");
  66.         }
  67.     }
  68.     else
  69.     {
  70.         divElementList    = webdeveloper_evaluateXPath(document, "//div[@class='output']");
  71.         divElementLength  = divElementList.length;
  72.         spanElementList   = webdeveloper_evaluateXPath(document, "//span[@class='expanded pivot']");
  73.         spanElementLength = spanElementList.length;
  74.  
  75.         // Loop through the div elements
  76.         for(var i = 0; i < divElementLength; i++)
  77.         {
  78.             divElementList[i].setAttribute("class", "collapsed output");
  79.         }
  80.  
  81.         // Loop through the span elements
  82.         for(i = 0; i < spanElementLength; i++)
  83.         {
  84.             spanElementList[i].setAttribute("class", "collapsed pivot");
  85.         }
  86.     }
  87.  
  88.     event.preventDefault();
  89. }
  90.  
  91. // Pivots output
  92. function webdeveloper_pivotOutput(event)
  93. {
  94.     // If the event is set
  95.     if(event)
  96.     {
  97.         var pivot  = event.target;
  98.         var output = pivot.parentNode.nextSibling;
  99.  
  100.         // If the output element is found
  101.         if(output)
  102.         {
  103.             // If the output class attribute is set to collapsed
  104.             if(output.getAttribute("class") == "collapsed output")
  105.             {
  106.                 output.setAttribute("class", "output");
  107.                 pivot.setAttribute("class", "expanded pivot");
  108.             }
  109.             else if(output.getAttribute("class") == "output")
  110.             {
  111.                 output.setAttribute("class", "collapsed output");
  112.                 pivot.setAttribute("class", "collapsed pivot");
  113.             }
  114.         }
  115.     }
  116. }
  117.  
  118. webdeveloper_makeOutputPivotable();
  119.